Data Tidying
Humboldt-Universität zu Berlin
2023-06-06
Letzte Woche haben wir gelernt, wie man…
include: false sollte message: false seinfig-out: 6 sollte fig-width: 6 seinlabel-FormatierungHeute werden wir…
tidyverse, here
daten Ordner):
table1.csvbillboard.csv (neu)cms_patient_experience.csv (neu)readr::read_csv), transformiert (dplyr Paket) und visualisiert (ggplot Paket)Image source: Wickham et al. (o. J.) (all rights reserved)
country, year, popuplation, und cases (Anzahl) der Tuberkulosefälle
| country | year | cases | population |
|---|---|---|---|
| Afghanistan | 1999 | 745 | 19987071 |
| Afghanistan | 2000 | 2666 | 20595360 |
| Brazil | 1999 | 37737 | 172006362 |
| Brazil | 2000 | 80488 | 174504898 |
| China | 1999 | 212258 | 1272915272 |
| China | 2000 | 213766 | 1280428583 |
| country | year | type | count |
|---|---|---|---|
| Afghanistan | 1999 | cases | 745 |
| Afghanistan | 1999 | population | 19987071 |
| Afghanistan | 2000 | cases | 2666 |
| Afghanistan | 2000 | population | 20595360 |
| Brazil | 1999 | cases | 37737 |
| Brazil | 1999 | population | 172006362 |
| Brazil | 2000 | cases | 80488 |
| Brazil | 2000 | population | 174504898 |
| China | 1999 | cases | 212258 |
| China | 1999 | population | 1272915272 |
| China | 2000 | cases | 213766 |
| China | 2000 | population | 1280428583 |
| country | year | rate |
|---|---|---|
| Afghanistan | 1999 | 745/19987071 |
| Afghanistan | 2000 | 2666/20595360 |
| Brazil | 1999 | 37737/172006362 |
| Brazil | 2000 | 80488/174504898 |
| China | 1999 | 212258/1272915272 |
| China | 2000 | 213766/1280428583 |
| country | year | cases | population |
|---|---|---|---|
| Afghanistan | 1999 | 745 | 19987071 |
| Afghanistan | 2000 | 2666 | 20595360 |
| Brazil | 1999 | 37737 | 172006362 |
| Brazil | 2000 | 80488 | 174504898 |
| China | 1999 | 212258 | 1272915272 |
| China | 2000 | 213766 | 1280428583 |
| country | year | type | count |
|---|---|---|---|
| Afghanistan | 1999 | cases | 745 |
| Afghanistan | 1999 | population | 19987071 |
| Afghanistan | 2000 | cases | 2666 |
| Afghanistan | 2000 | population | 20595360 |
| Brazil | 1999 | cases | 37737 |
| Brazil | 1999 | population | 172006362 |
| Brazil | 2000 | cases | 80488 |
| Brazil | 2000 | population | 174504898 |
| China | 1999 | cases | 212258 |
| China | 1999 | population | 1272915272 |
| China | 2000 | cases | 213766 |
| China | 2000 | population | 1280428583 |
| country | year | rate |
|---|---|---|
| Afghanistan | 1999 | 745/19987071 |
| Afghanistan | 2000 | 2666/20595360 |
| Brazil | 1999 | 37737/172006362 |
| Brazil | 2000 | 80488/174504898 |
| China | 1999 | 212258/1272915272 |
| China | 2000 | 213766/1280428583 |
Drei Regeln für aufgeräumte Daten:
Image source: Wickham et al. (o. J.) (all rights reserved)
“Happy families are all alike; every unhappy family is unhappy in its own way.” — Leo Tolstoy
“Tidy datasets are all alike, but every untidy dataset is untidy in its own way.” — Hadley Wickham
Die Arbeit mit aufgeräumten Daten hat zwei wesentliche Vorteile:
tidyverse sind für die Arbeit mit Tidy-Daten konzipiertVectors
Vektoren sind der grundlegendste Datenobjekttyp in R. Ein Vektor enthält Daten desselben Typs und ist im Wesentlichen eine Liste. Wir können einen Vektor zum Beispiel mit der Funktion c() erstellen.
vector1 wird numerische Werte enthalten, da alle Elemente Zahlen sind. vector2 enthält alle Zeichenwerte (d.h. Text), da es ein einziges eindeutiges Zeichenelement (c()) gibt. R liest also alle Elemente als Zeichentyp. Wir können einen Datenrahmen aus Vektoren gleicher Länge erstellen, indem wir z. B. die Funktion tibble() verwenden.
Aufgabe 1: Tidy data
Beispiel 1
rate) erzeugt, die enthält:
cases pro Land und Jahr, geteilt durchpopulation pro Land und Jahr,10000
dplyr-Verb erzeugt neue Variablen? (Schaue in Woche 5 nach)tidyverse
tidyr-Paket
pivot_longer(): macht breite Daten längerpivot_wider(): lange Daten breiter machenAbbildung 1: die berühmteste Verwendung des Wortes Pivot (zumindest für Millenials) (Friends)
df_billboard
billboard.csv
artist, track, date_entered)wk1-wk76), die den Rang des Liedes in dieser Woche beschreiben
week), und die Zellwerte sind eine andere Variable (der rank)| artist | track | date_entered | wk1 | wk2 | wk3 | wk4 | wk5 | wk6 | wk7 | wk8 | wk9 | wk10 | wk11 | wk12 | wk13 | wk14 | wk15 | wk16 | wk17 | wk18 | wk19 | wk20 | wk21 | wk22 | wk23 | wk24 | wk25 | wk26 | wk27 | wk28 | wk29 | wk30 | wk31 | wk32 | wk33 | wk34 | wk35 | wk36 | wk37 | wk38 | wk39 | wk40 | wk41 | wk42 | wk43 | wk44 | wk45 | wk46 | wk47 | wk48 | wk49 | wk50 | wk51 | wk52 | wk53 | wk54 | wk55 | wk56 | wk57 | wk58 | wk59 | wk60 | wk61 | wk62 | wk63 | wk64 | wk65 | wk66 | wk67 | wk68 | wk69 | wk70 | wk71 | wk72 | wk73 | wk74 | wk75 | wk76 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | 87 | 82 | 72 | 77 | 87 | 94 | 99 | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
| 2Ge+her | The Hardest Part Of ... | 2000-09-02 | 91 | 87 | 92 | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
| 3 Doors Down | Kryptonite | 2000-04-08 | 81 | 70 | 68 | 67 | 66 | 57 | 54 | 53 | 51 | 51 | 51 | 51 | 47 | 44 | 38 | 28 | 22 | 18 | 18 | 14 | 12 | 7 | 6 | 6 | 6 | 5 | 5 | 4 | 4 | 4 | 4 | 3 | 3 | 3 | 4 | 5 | 5 | 9 | 9 | 15 | 14 | 13 | 14 | 16 | 17 | 21 | 22 | 24 | 28 | 33 | 42 | 42 | 49 | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
| 3 Doors Down | Loser | 2000-10-21 | 76 | 76 | 72 | 69 | 67 | 65 | 55 | 59 | 62 | 61 | 61 | 59 | 61 | 66 | 72 | 76 | 75 | 67 | 73 | 70 | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
| 504 Boyz | Wobble Wobble | 2000-04-15 | 57 | 34 | 25 | 17 | 17 | 31 | 36 | 49 | 53 | 57 | 64 | 70 | 75 | 76 | 78 | 85 | 92 | 96 | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
| 98^0 | Give Me Just One Nig... | 2000-08-19 | 51 | 39 | 34 | 26 | 26 | 19 | 2 | 2 | 3 | 6 | 7 | 22 | 29 | 36 | 47 | 67 | 66 | 84 | 93 | 94 | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
| A*Teens | Dancing Queen | 2000-07-08 | 97 | 97 | 96 | 95 | 100 | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
| Aaliyah | I Don't Wanna | 2000-01-29 | 84 | 62 | 51 | 41 | 38 | 35 | 35 | 38 | 38 | 36 | 37 | 37 | 38 | 49 | 61 | 63 | 62 | 67 | 83 | 86 | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
| Aaliyah | Try Again | 2000-03-18 | 59 | 53 | 38 | 28 | 21 | 18 | 16 | 14 | 12 | 10 | 9 | 8 | 6 | 1 | 2 | 2 | 2 | 2 | 3 | 4 | 5 | 5 | 6 | 9 | 13 | 14 | 16 | 23 | 22 | 33 | 36 | 43 | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
| Adams, Yolanda | Open My Heart | 2000-08-26 | 76 | 76 | 74 | 69 | 68 | 67 | 61 | 58 | 57 | 59 | 66 | 68 | 61 | 67 | 59 | 63 | 67 | 71 | 79 | 89 | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
pivot_longer()pivot_longer()
col = gibt an, welche Spalten gedreht werden müssen (d.h. welche nicht Variablen sind)
select(), wir könnten also z.B. starts_with("") verwendennames_to = benennt die Variable, die in den aktuellen Spaltennamen gespeichert ist, hier ist es week
values_to = benennt die in den Zellwerten gespeicherte Variable, die wir rank nennenweek und rank in Anführungszeichen setzen, weil sie noch keine Variablennamen sind| artist | track | date_entered | week | rank |
|---|---|---|---|---|
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | wk1 | 87 |
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | wk2 | 82 |
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | wk3 | 72 |
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | wk4 | 77 |
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | wk5 | 87 |
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | wk6 | 94 |
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | wk7 | 99 |
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | wk8 | NA |
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | wk9 | NA |
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | wk10 | NA |
NA)NA (fehlende) Werte; dies geschah, wenn ein Song nicht in den Top 100 war
values_drop_na = TRUE/FALSE werden geschwenkte Zeilen gelöscht, die keinen Wert für die neue Variable haben.| artist | track | date_entered | week | rank |
|---|---|---|---|---|
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | wk1 | 87 |
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | wk2 | 82 |
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | wk3 | 72 |
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | wk4 | 77 |
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | wk5 | 87 |
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | wk6 | 94 |
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | wk7 | 99 |
| 2Ge+her | The Hardest Part Of ... | 2000-09-02 | wk1 | 91 |
| 2Ge+her | The Hardest Part Of ... | 2000-09-02 | wk2 | 87 |
| 2Ge+her | The Hardest Part Of ... | 2000-09-02 | wk3 | 92 |
week enthält immer noch wk in den Wertenreadr hat eine praktische Funktion: parse_number() extrahiert die erste Zahl aus einer Zeichenkette und ignoriert alle anderen Texte
parse_number() benutzen, um die Variable week zu ändern?| artist | track | date_entered | week | rank |
|---|---|---|---|---|
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | 1 | 87 |
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | 2 | 82 |
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | 3 | 72 |
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | 4 | 77 |
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | 5 | 87 |
| 2 Pac | Baby Don't Cry (Keep... | 2000-02-26 | 6 | 94 |
tidyverse hat auch ein Paket, das die Arbeit mit Datumsangaben erleichtert: lubridate
date_entered hat das Format Jahr-Monat-Tag (ymd)lubridate Verben verwenden, um das year, den month und den day zu extrahierenweek-Daten in einer Variablen und die rank Daten in einer anderen VariablenAufgabe 1: Tidy data
Beispiel 2
df_cms
pivot_wider() macht Datensätze breiter, indem es Spalten vergrößert und Zeilen verkleinert
cms_patient_experience.csv enthält Daten über Patientenerfahrungen von den Centers of Medicare and Medicaid Servicesorg_pac_id und org_nm), aber jede Organisation (d.h. Beobachtung) nimmt 6 Zeilen ein
| org_pac_id | org_nm | measure_cd | measure_title | prf_rate |
|---|---|---|---|---|
| 0446157747 | USC CARE MEDICAL GROUP INC | CAHPS_GRP_1 | CAHPS for MIPS SSM: Getting Timely Care, Appointments, and Information | 63 |
| 0446157747 | USC CARE MEDICAL GROUP INC | CAHPS_GRP_2 | CAHPS for MIPS SSM: How Well Providers Communicate | 87 |
| 0446157747 | USC CARE MEDICAL GROUP INC | CAHPS_GRP_3 | CAHPS for MIPS SSM: Patient's Rating of Provider | 86 |
| 0446157747 | USC CARE MEDICAL GROUP INC | CAHPS_GRP_5 | CAHPS for MIPS SSM: Health Promotion and Education | 57 |
| 0446157747 | USC CARE MEDICAL GROUP INC | CAHPS_GRP_8 | CAHPS for MIPS SSM: Courteous and Helpful Office Staff | 85 |
| 0446157747 | USC CARE MEDICAL GROUP INC | CAHPS_GRP_12 | CAHPS for MIPS SSM: Stewardship of Patient Resources | 24 |
pivot_wider()id_cols: identifizierende Spaltennames_from: wie soll die neue Spalte heißen, die die bisherigen Spaltennamen enthält?names_prefix: Präfix für die neuen Spaltennamenvalues_from: neue Spaltenwerteorg,
measure_cd nehmen und sechs neue Variablen names daraus erstellen,values aus prf_rate nehmen?| org_pac_id | org_nm | CAHPS_GRP_1 | CAHPS_GRP_2 | CAHPS_GRP_3 | CAHPS_GRP_5 | CAHPS_GRP_8 | CAHPS_GRP_12 |
|---|---|---|---|---|---|---|---|
| 0446157747 | USC CARE MEDICAL GROUP INC | 63 | 87 | 86 | 57 | 85 | 24 |
| 0446162697 | ASSOCIATION OF UNIVERSITY PHYSICIANS | 59 | 85 | 83 | 63 | 88 | 22 |
| 0547164295 | BEAVER MEDICAL GROUP PC | 49 | NA | 75 | 44 | 73 | 12 |
| 0749333730 | CAPE PHYSICIANS ASSOCIATES PA | 67 | 84 | 85 | 65 | 82 | 24 |
| 0840104360 | ALLIANCE PHYSICIANS INC | 66 | 87 | 87 | 64 | 87 | 28 |
| 0840109864 | REX HOSPITAL INC | 73 | 87 | 84 | 67 | 91 | 30 |
| org_pac_id | org_nm | measure_cd | measure_title | prf_rate |
|---|---|---|---|---|
| 0446157747 | USC CARE MEDICAL GROUP INC | CAHPS_GRP_1 | CAHPS for MIPS SSM: Getting Timely Care, Appointments, and Information | 63 |
| 0446157747 | USC CARE MEDICAL GROUP INC | CAHPS_GRP_2 | CAHPS for MIPS SSM: How Well Providers Communicate | 87 |
| 0446157747 | USC CARE MEDICAL GROUP INC | CAHPS_GRP_3 | CAHPS for MIPS SSM: Patient's Rating of Provider | 86 |
| 0446157747 | USC CARE MEDICAL GROUP INC | CAHPS_GRP_5 | CAHPS for MIPS SSM: Health Promotion and Education | 57 |
| 0446157747 | USC CARE MEDICAL GROUP INC | CAHPS_GRP_8 | CAHPS for MIPS SSM: Courteous and Helpful Office Staff | 85 |
| 0446157747 | USC CARE MEDICAL GROUP INC | CAHPS_GRP_12 | CAHPS for MIPS SSM: Stewardship of Patient Resources | 24 |
| org_pac_id | org_nm | CAHPS_GRP_1 | CAHPS_GRP_2 | CAHPS_GRP_3 | CAHPS_GRP_5 | CAHPS_GRP_8 | CAHPS_GRP_12 |
|---|---|---|---|---|---|---|---|
| 0446157747 | USC CARE MEDICAL GROUP INC | 63 | 87 | 86 | 57 | 85 | 24 |
| 0446162697 | ASSOCIATION OF UNIVERSITY PHYSICIANS | 59 | 85 | 83 | 63 | 88 | 22 |
| 0547164295 | BEAVER MEDICAL GROUP PC | 49 | NA | 75 | 44 | 73 | 12 |
| 0749333730 | CAPE PHYSICIANS ASSOCIATES PA | 67 | 84 | 85 | 65 | 82 | 24 |
| 0840104360 | ALLIANCE PHYSICIANS INC | 66 | 87 | 87 | 64 | 87 | 28 |
| 0840109864 | REX HOSPITAL INC | 73 | 87 | 84 | 67 | 91 | 30 |
Ein Beispiel: Abbildung 3 zeigt den Trend von ‘Say My Name’ von Destiny’s Child, das am 25. Dezember 1999 (date_entered) auf Platz 83 (rank für wk1) in die Charts einstieg und 32 Wochen lang in den Top 100 blieb (z.b., max(week)).
biondo_etal_2021_tidy.csv (Teilmenge der Daten von Biondo et al. (2022)) und speichert ihn als df_biondo
knitr::kable()) mit einem Label und einer Beschriftung des Kopfes() der Datenrt und tt in einer Spalte stehen:
Namen sollte in eine neue Variable mit dem Namen Maß übergehen.df_biondo_long
knitr::kable()) mit einem Label und einer Beschriftungdf_biondo_long so, dass die Spalten rt und tt wieder in ihren eigenen Spalten sind
id_cols sollten subj und item seinNamen sollte von Maß kommenvalues sollte von ms (für Millisekunden) stammendf_biondo_wide speichernknitr::kable()) mit einem Label und einer Beschriftung ausgebendf_biondo_wide sollte genau dasselbe sein wie df_biondo.Heute haben wir…
Hergestellt mit R version 4.3.0 (2023-04-21) (Already Tomorrow) und RStudioversion 2023.3.0.386 (Cherry Blossom).
R version 4.3.0 (2023-04-21)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS Ventura 13.2.1
Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRlapack.dylib; LAPACK version 3.11.0
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
time zone: Europe/Berlin
tzcode source: internal
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] here_1.0.1 lubridate_1.9.2 forcats_1.0.0 stringr_1.5.0
[5] dplyr_1.1.2 purrr_1.0.1 readr_2.1.4 tidyr_1.3.0
[9] tibble_3.2.1 ggplot2_3.4.2 tidyverse_2.0.0
loaded via a namespace (and not attached):
[1] utf8_1.2.3 generics_0.1.3 xml2_1.3.4
[4] stringi_1.7.12 hms_1.1.3 digest_0.6.31
[7] magrittr_2.0.3 evaluate_0.21 grid_4.3.0
[10] timechange_0.2.0 fastmap_1.1.1 rprojroot_2.0.3
[13] jsonlite_1.8.4 httr_1.4.6 rvest_1.0.3
[16] fansi_1.0.4 viridisLite_0.4.2 scales_1.2.1
[19] cli_3.6.1 rlang_1.1.1 crayon_1.5.2
[22] bit64_4.0.5 munsell_0.5.0 withr_2.5.0
[25] yaml_2.3.7 tools_4.3.0 parallel_4.3.0
[28] tzdb_0.4.0 colorspace_2.1-0 webshot_0.5.4
[31] pacman_0.5.1 kableExtra_1.3.4.9000 png_0.1-8
[34] vctrs_0.6.2 R6_2.5.1 lifecycle_1.0.3
[37] magick_2.7.4 bit_4.0.5 vroom_1.6.3
[40] pkgconfig_2.0.3 pillar_1.9.0 gtable_0.3.3
[43] glue_1.6.2 Rcpp_1.0.10 systemfonts_1.0.4
[46] highr_0.10 xfun_0.39 tidyselect_1.2.0
[49] rstudioapi_0.14 knitr_1.42 farver_2.1.1
[52] htmltools_0.5.5 labeling_0.4.2 svglite_2.1.1
[55] rmarkdown_2.21 compiler_4.3.0
Woche 8 - Data Tidying